﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using BlueLotus7.ArchiveSystem.Interfaces;

namespace BlueLotus7.ArchiveSystem.Common
{
    [DataContract]
    public class MultipleTargetAnalysisRequest<T>
    {
        [DataContract]
        public enum AssembleTypes
        {
            [EnumMember]
            Or = 0,
            [EnumMember]
            And = 1
        }

        [DataMember]
        public List<Guid> TargetGuidList
        {
            get;
            set;
        }

        [DataMember]
        public int MaxRecordCount
        {
            get;
            set;
        }

        [DataMember]
        public T AnalysisOption
        {
            get;
            set;
        }

        [DataMember]
        public AssembleTypes AssembleType
        {
            get;
            set;
        }

        public MultipleTargetAnalysisRequest()
        {
            this.TargetGuidList = new List<Guid>();
        }
    }
}
